package com.koo.modules.sale.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.koo.common.base.entity.CommonEntity;
import com.koo.modules.product.entity.vo.ImageVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author charlin
 * @email 136137465@qq.com
 * @date 2023-03-16 16:57:09
 */
@Data
@ApiModel("")
@TableName("sale_prescription_order")
public class SalePrescriptionOrderEntity extends CommonEntity {
    private static final long serialVersionUID = 1L;


    @ExcelIgnore
    @TableId
    private Long prescriptionId;

    @ColumnWidth(11)
    @ExcelProperty("处方单号")
    @ApiModelProperty(value = "处方单号")
    private String prescriptionNo;

    @ColumnWidth(11)
    @ExcelProperty("开放日期")
    @ApiModelProperty(value = "开放日期")
    private Date prescriptionDate;

    @ColumnWidth(11)
    @ExcelProperty("开方单位")
    @ApiModelProperty(value = "开方单位")
    private String prescriptionUnit;

    @ColumnWidth(11)
    @ExcelProperty("开方人")
    @ApiModelProperty(value = "开方人")
    private String prescriptionUser;

    @ColumnWidth(11)
    @ExcelProperty("处方图片路径")
    @ApiModelProperty(value = "处方图片路径")
    private String prescriptionUrl;

    @ColumnWidth(11)
    @ExcelProperty("购买人")
    @ApiModelProperty(value = "购买人")
    private String buyerName;

    @ColumnWidth(11)
    @ExcelProperty("购买人手机号")
    @ApiModelProperty(value = "购买人手机号")
    private String buyerMobile;

    @ColumnWidth(11)
    @ExcelProperty("购买人身份证号")
    @ApiModelProperty(value = "购买人身份证号")
    private String buyerCardId;

    @ColumnWidth(11)
    @ExcelProperty("审核人用户ID")
    @ApiModelProperty(value = "审核人用户ID")
    private Long auditorId;

    @ColumnWidth(11)
    @ExcelProperty("处方审核人")
    @ApiModelProperty(value = "处方审核人")
    private String auditor;

    @ColumnWidth(11)
    @ExcelProperty("0未审核 1待复核 2通过")
    @ApiModelProperty(value = "0未审核 1待复核 2通过")
    private Integer auditStatus;

    @ColumnWidth(11)
    @ExcelProperty("审核说明")
    @ApiModelProperty(value = "审核说明")
    private String auditNote;

    @ColumnWidth(11)
    @ExcelProperty("复核人用户ID")
    @ApiModelProperty(value = "复核人用户ID")
    private Long reviewerId;

    @ColumnWidth(11)
    @ExcelProperty("处方复核人")
    @ApiModelProperty(value = "处方复核人")
    private String reviewer;

    @ColumnWidth(11)
    @ExcelProperty("处方复核状态")
    @ApiModelProperty(value = "处方复核状态")
    private Integer reviewStatus;

    @ColumnWidth(11)
    @ExcelProperty("处方复核说明")
    @ApiModelProperty(value = "处方复核说明")
    private String reviewNote;

    @ColumnWidth(11)
    @ExcelProperty("地址")
    @ApiModelProperty(value = "地址")
    private String address;

    @ColumnWidth(11)
    @ExcelProperty("年龄")
    @ApiModelProperty(value = "年龄")
    private String age;

    @ColumnWidth(11)
    @ExcelProperty("处方类型")
    @ApiModelProperty(value = "处方类型")
    private Integer prescriptionType;

    @ColumnWidth(11)
    @ExcelProperty("是否远程审方（0否1是）")
    @ApiModelProperty(value = "是否远程审方（0否1是）")
    private Integer isRemoteAudit;

    @ColumnWidth(11)
    @ExcelProperty("是否后补（0否1是）")
    @ApiModelProperty(value = "是否后补（0否1是）")
    private Integer isCompleteLater;

    @ColumnWidth(11)
    @ExcelProperty("发送状态")
    @ApiModelProperty(value = "发送状态")
    private Integer sendState;

    @ColumnWidth(11)
    @ExcelProperty("性别")
    @ApiModelProperty(value = "性别")
    private Integer gender;

    @ColumnWidth(11)
    @ExcelProperty("生日")
    @ApiModelProperty(value = "生日")
    private String birthday;

    @ColumnWidth(11)
    @ExcelProperty("疾病名称")
    @ApiModelProperty(value = "疾病名称")
    private String diseasesName;

    @ColumnWidth(11)
    @ExcelProperty("确诊疾病")
    @ApiModelProperty(value = "确诊疾病")
    private String patientDiseases;

    @ColumnWidth(11)
    @ExcelProperty("过敏史")
    @ApiModelProperty(value = "过敏史")
    private String guoMinDetail;

    @ColumnWidth(11)
    @ExcelProperty("患者主诉")
    @ApiModelProperty(value = "患者主诉")
    private String patientDescription;

    @ColumnWidth(11)
    @ExcelProperty("慈桦处方ID")
    @ApiModelProperty(value = "慈桦处方ID")
    private String cihuaId;

    @ColumnWidth(11)
    @ExcelProperty("慈桦离线处方状态 0未发送，1成功 2审核中")
    @ApiModelProperty(value = "慈桦离线处方状态 0未发送，1成功 2审核中")
    private Integer cihuaStatus;


    @ColumnWidth(11)
    @ExcelProperty("处方剂数 6")
    @ApiModelProperty(value = "处方剂数 6")
    private Integer prescriptionDosis;

    @ColumnWidth(11)
    @ExcelProperty("方剂用法 口服饮用")
    @ApiModelProperty(value = "方剂用法 口服饮用")
    private String usingType;

    @ColumnWidth(11)
    @ExcelProperty("方剂用法 口服饮用")
    @ApiModelProperty(value = "方剂用法 口服饮用")
    private String prescriptionUsage;

    @ExcelIgnore
    @TableField(exist = false)
    private List<SalePrescriptioinOrderDetailEntity> itemList;

    @TableField(exist = false)
    private List<ImageVo> pics;

    //---不使用字段--------------------------------------------------

//    @ColumnWidth(11)
//    @ExcelProperty("icd编码")
//    @ApiModelProperty(value = "icd编码")
//    private String icdCode;
//
//    @ColumnWidth(11)
//    @ExcelProperty("icd名")
//    @ApiModelProperty(value = "icd名")
//    private String icdName;
//
//    @ColumnWidth(11)
//    @ExcelProperty("证件类型")
//    @ApiModelProperty(value = "证件类型")
//    private String certificateType;
//
//    @ColumnWidth(11)
//    @ExcelProperty("证件号码")
//    @ApiModelProperty(value = "证件号码")
//    private String certificateCode;
//
//    @ColumnWidth(11)
//    @ExcelProperty("首诊处方单图片地址")
//    @ApiModelProperty(value = "首诊处方单图片地址")
//    private String firstPrescriptionUrl;
//
//    @ColumnWidth(11)
//    @ExcelProperty("处方类型 1:西药，2：中药")
//    @ApiModelProperty(value = "处方类型 1:西药，2：中药")
//    private Integer orderType;

//    @ColumnWidth(11)
//    @ExcelProperty("处方序列号")
//    @ApiModelProperty(value = "处方序列号")
//    private String recipeSerialNum;
}
